<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:p="http://primefaces.org/ui"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition template="/pages/home.xhtml">
	<ui:define name="title">
		<h:outputText value="#{text.titUsers}" />
	</ui:define>
	<ui:define name="content">
		<p:fieldset id="fieldSetUsuario" legend="#{text.lgdUsuarioForm}"
			toggleable="true" binding="#{usuarioController.fieldSetUsuario}">

			<h:inputHidden id="usuarioId" value="#{usuarioController.selectedUsuario.id}"/>
			<h:panelGrid id="pnlFields" columns="3">
				
				<h:outputLabel for="name" value="#{text.lblUsuarioName}" />
				<p:inputText id="name" required="true" size="50" maxlength="40"
					requiredMessage="#{message.requiredUsuarioName}" 
					binding="#{usuarioController.inputName}"
					value="#{usuarioController.selectedUsuario.nomUsuario}"/>
				<p:message for="name" />

				<h:outputLabel for="login" value="#{text.lblUsuarioLogin}" />
				<p:inputText id="login" required="true" size="30" maxlength="10"
					requiredMessage="#{message.requiredUsuarioLogin}"
					binding="#{usuarioController.inputLogin}"
					value="#{usuarioController.selectedUsuario.login}"
					/>
				<p:message for="login" />

				<h:outputLabel for="pass" value="#{text.lblUsuarioPass}" />
				<p:password id="pass" required="true" maxlength="8"
					requiredMessage="#{message.requiredUsuarioPass}" 
					binding="#{usuarioController.inputPass}"
					/>
				<p:message for="pass" />

			</h:panelGrid>

			<p:separator />

			<p:commandButton id="btnNew" value="#{text.btnNew}"
				icon="ui-icon-document"
				actionListener="#{usuarioController.newUsuario}" immediate="true"
				update=":frmContent:fieldSetUsuario"
				onclick="grdUsuario.unselectAllRows();clearRadioDataTable();"/>
			<p:commandButton id="btnSave" value="#{text.btnSave}" icon="ui-icon-disk"
				update=":frmContent:fieldSetUsuario, :frmContent:grdUsuario"
				actionListener="#{usuarioController.saveUsuario}" process=":frmContent:fieldSetUsuario"
				/>
			<p:commandButton id="btnDelete" value="#{text.btnDelete}"
				icon="ui-icon-trash" onclick="dialogDelete.show()"
				binding="#{usuarioController.btnDelete}"  disabled="true" />
			<p:confirmDialog id="dlgConfirmDelete" widgetVar="dialogDelete"
						closable="true" severity="info" appendToBody="true"
						header="#{text.dlgConfirm}"
						message="#{message.confirmDelete}" width="400">
						<p:commandButton id="btnConfirmDelete"
							actionListener="#{usuarioController.deleteUsuario}" value="#{text.btnConfirm}"
							icon="ui-icon-check" immediate="true"
							oncomplete="dialogDelete.hide()"
							update=":frmContent:fieldSetUsuario, :frmContent:grdUsuario"
							/>
						<p:commandButton id="btnDeclineDelete"
							onclick="dialogDelete.hide()" value="#{text.btnCancel}"
							icon="ui-icon-cancel" />
					</p:confirmDialog>

		</p:fieldset>

		<p:spacer height="25" />

		<p:dataTable id="grdUsuario" var="usuario" 
			value="#{usuarioController.usuarioDataModel}" widgetVar="grdUsuario"
			emptyMessage="#{text.grdEmpty}"
			selection="#{usuarioController.selectedUsuario}"
		    paginator="true"
			rows="10" rowsPerPageTemplate="10,25,50"
			paginatorTemplate=" {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
			style="width:600px;" 
			sortBy="#{usuario.nomUsuario}"
			>

			<p:ajax event="rowSelect" update=":frmContent:fieldSetUsuario"
				listener="#{usuarioController.selectUsuario}" immediate="true"/>

			<p:column selectionMode="single" style="width:18px" />
			<p:column id="colUsuarioNome" headerText="#{text.lblUsuarioName}"
				sortBy="#{usuario.nomUsuario}">
				<h:outputText value="#{usuario.nomUsuario}" />
			</p:column>
			<p:column id="colUsuarioLogin" headerText="#{text.lblUsuarioLogin}"
				sortBy="#{usuario.login}">
				<h:outputText value="#{usuario.login}" />
			</p:column>
		</p:dataTable>




	</ui:define>
</ui:composition>
</html>